package avicit.bdp.dms.tdm.dao;

import avicit.bdp.common.base.BaseDAO;
import avicit.bdp.dms.tdm.dto.BdpAssetDTO;
import avicit.bdp.dms.tdm.dto.BdpAssetMountFileDTO;
import com.github.pagehelper.Page;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;

import java.util.List;

/**
 * @金航数码科技有限责任公司
 * @作者：${tableInfo.classCreator}
 * @邮箱：${tableInfo.classMailbox}
 * @创建时间： 2023-11-14 16:04
 * @类说明：bdp_asset_portalDao
 * @修改记录：
 */
@Repository
public interface AssetPortalDao extends BaseDAO<BdpAssetDTO> {

    /**
     * 分页查询已发布资产
     *
     * @return 分页列表
     */
    Page<BdpAssetDTO> getAssetPageList(
            @Param("catalogId") String catalogId,
            @Param("keyWords") String keyWords,
            @Param("assetType") String assetType,
            @Param("labelList") List<String> labelList,
            @Param("releaseDept") String releaseDept,
            @Param("sourceSystem") String sourceSystem,
            @Param("viewSort") String viewSort,
            @Param("wordSecretList") List<String> wordSecretList,
            @Param("currentDate") String currentDate,
            @Param("releaseOrgId") String releaseOrgId);

    /**
     * 分页查询资产监控列表
     *
     * @return 分页列表
     */
    Page<BdpAssetDTO> getAssetMonitorPageList(
            @Param("catalogId") String catalogId,
            @Param("keyWords") String keyWords,
            @Param("assetType") String assetType,
            @Param("releaseDept") String releaseDept,
            @Param("releaseDateBegin") String releaseDateBegin,
            @Param("releaseDateEnd") String releaseDateEnd,
            @Param("wordSecret") String wordSecret);

    /**
     * 查询资产对应的开放服务类型
     * @param assetIdList
     * @return
     */
    List<BdpAssetMountFileDTO> getAssetMountFileList(@Param("assetIdList") List<String> assetIdList);

    BdpAssetDTO selectByAssetId(@Param("assetId") String assetId);
}